package com.kmxd.ams.client.use.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 利用单操作日志表
 *
 * @author nickbi
 * @since 2022-09-13
 */
@Schema(description = "利用单操作日志表对象")
@Data
public class UseLogEditDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  @Schema(description = "主键ID")
  private Long id;

  /** 申请单id */
  @Schema(description = "申请单id")
  @NotNull(message = "申请单id不能为空")
  private Long orderId;

  /** 档案id信息 */
  @Schema(description = "档案id信息")
  @NotBlank(message = "档案id信息不能为空")
  @Size(max = 100, message = "档案id信息长度不能超过100个字符")
  private String archDataIds;

  /** 业务行为 */
  @Schema(description = "业务行为")
  @NotBlank(message = "业务行为不能为空")
  @Size(max = 100, message = "业务行为长度不能超过100个字符")
  private String behavior;

  /** 业务内容 */
  @Schema(description = "业务内容")
  @NotBlank(message = "业务内容不能为空")
  @Size(max = 100, message = "业务内容长度不能超过100个字符")
  private String content;

  /** 类型:1领取登记,2归还登记 */
  @Schema(description = "类型:1领取登记,2归还登记")
  @NotNull(message = "类型:1领取登记,2归还登记不能为空")
  private Integer type;

  @NotBlank(message = "typeName不能为空")
  @Size(max = 100, message = "typeName长度不能超过100个字符")
  private String typeName;

  /** 创建人 */
  @Schema(description = "创建人")
  @NotNull(message = "创建人不能为空")
  private Long createBy;

  /** 创建时间 */
  @Schema(description = "创建时间")
  @NotNull(message = "创建时间不能为空")
  private Date createTime;

  /** 操作人名称 */
  @Schema(description = "操作人名称")
  @NotBlank(message = "操作人名称不能为空")
  @Size(max = 100, message = "操作人名称长度不能超过100个字符")
  private String createUserName;

  /** 备注 */
  @Schema(description = "备注")
  @NotBlank(message = "备注不能为空")
  @Size(max = 100, message = "备注长度不能超过100个字符")
  private String remarks;
}
